//package com.gx.smart.lib.http.api.gRPCUtils;
//
//import com.gx.smart.lib.http.api.constants.WisestoneConstants;
//import com.gx.wisestone.android.grpc.interceptor.WsClientInterceptor;
//import com.gx.wisestone.android.grpc.interceptor.WsProvider;
//
//import java.util.concurrent.TimeUnit;
//
//import io.grpc.ManagedChannel;
//import io.grpc.ManagedChannelBuilder;
//
///**
// * gRPC Channel构建工具类
// *
// * @author XUE
// * @since 2019/3/19 11:05
// */
//public final class gRPCChannelUtils {
//
//    public static final WsProvider PROVIDER = new WsProvider();
//    public static final WsClientInterceptor INTERCEPTOR = new WsClientInterceptor(PROVIDER);
//
//    private gRPCChannelUtils() {
//        throw new UnsupportedOperationException("u can't instantiate me...");
//    }
//
//
//    /**
//     * 构建一条普通的Channel
//     *
//     * @param host 主机服务地址
//     * @param port 端口
//     * @return
//     */
//    public static ManagedChannel newChannel(String host, int port) {
//        ManagedChannelBuilder builder = ManagedChannelBuilder.forAddress(host, port).intercept(INTERCEPTOR);
//        if (WisestoneConstants.USE_SSL) {
//            builder.useTransportSecurity();
//        } else {
//            builder.usePlaintext();
//        }
//        builder.intercept(INTERCEPTOR);
//        return builder.build();
//    }
//
//
//    /**
//     * 关闭Channel
//     *
//     * @param channel 端口
//     * @return
//     */
//    public static boolean shutdown(ManagedChannel channel) {
//        if (channel != null) {
//            try {
//                return channel.shutdown().awaitTermination(1, TimeUnit.SECONDS);
//            } catch (InterruptedException e) {
//                Thread.currentThread().interrupt();
//            }
//        }
//        return false;
//    }
//
//}
